#define _CRT_SECURE_NO_WARNINGS 1

#include <iostream>

using namespace std;

const int N = 100010;

int n, m;
int s[N];

int main()
{
    cin >> n >> m;
    for (int i = 1; i <= n; i++) cin >> s[i];
    for (int i = n; i; i--)
    {
        s[i] -= s[i - 1];
    }

    while (m--)
    {
        int l, r, c;
        cin >> l >> r >> c;
        s[l] += c, s[r + 1] -= c;
    }

    for (int i = 1; i <= n; i++) s[i] += s[i - 1];

    for (int i = 1; i <= n; i++) cout << s[i] << ' ';
    cout << endl;

    return 0;
}

//int n, m;
//int a[N], b[N];
//
//void insert(int l, int r, int v)
//{
//	b[l] += v;
//	b[r + 1] -= v;
//}
//
//int main()
//{
//	cin >> n >> m;
//	for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
//	for (int i = 1; i <= n; i++)
//	{
//		insert(i, i, a[i]);
//	}
//	while (m--)
//	{
//		int l, r, v;
//		scanf("%d%d%d", &l, &r, &v);
//		insert(l, r, v);
//	}
//
//	for (int i = 1; i <= n; i++) a[i] = a[i - 1] + b[i];
//	for (int i = 1; i <= n; i++) printf("%d ", a[i]);
//	return 0;
//}